package org.example.flea_market_mvc.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 用户评价表
 *
 * @author chensanju
 * @date 2025-06-10 12:50:30
 */
@Data
@TableName("ratings") // 显式指定表名
public class Ratings {

    /**
     * 评分记录ID，主键自增
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 评分用户ID，外键关联users表
     */
    private Integer raterId;

    /**
     * 被评分用户ID，外键关联users表
     */
    private Integer ratedId;

    /**
     * 评价关联的订单ID（外键关联orders表）
     */
    private Integer orderId;

    /**
     * 评价关联的商品ID（外键关联products表）
     */
    private Integer productId;

    /**
     * 描述相符评分，范围1-5星
     */
    private Integer descriptionRating;

    /**
     * 响应速度评分，范围1-5星
     */
    private Integer responseRating;

    /**
     * 交易评分，范围1-5星
     */
    private Integer transactionRating;

    /**
     * 综合评分（自动计算平均分）
     */
    private Double overallRating;

    /**
     * 文字评价内容
     */
    private String comment;

    /**
     * 评价图片URL（多张图片用逗号分隔）
     */
    private String images;

    /**
     * 评价时间
     */
    @TableField(fill = FieldFill.INSERT) // 插入时自动填充
    private LocalDateTime createTime;

    /**
     * 评价状态：0-正常，1-已删除，2-待审核
     */
    private Integer status;

    /**
     * 回复内容（卖家回复评价）
     */
    private String reply;

    /**
     * 回复时间（卖家回复时间）
     */
    private LocalDateTime replyTime;
}